Object state testing and fault analysis for reliable software systems
نویسندگان
چکیده
Object state behavior implies that the eeect of an operation on an object may depend on the states of the object and other objects. It may cause state changes to more than one object. Thus, the combined or composite eeects of the object operations must be analyzed and tested. We show that certain object state behavior errors cannot be detected readily by conventional testing methods. We describe an object state test method consisting of an object state model, a reverse engineering tool, and a composite object state testing tool. The object state test model is an aggregation of hierarchical, concurrent, communicating state machines envisioned mainly for object state testing. The reverse engineering tool produces an object state model from any C++ program. The composite object state testing tool analyzes the object state behaviors and generates test cases for testing object state interactions. We show the detection of several composite object state behavior errors that exist in a well-known thermostat example.
منابع مشابه
Safe and Reliable Computer Control Systems Concepts and Methods
The introduction of computers into safety-critical control systems lays a heavy burden on the software designers. The public and the legislators demand reliable and safe computer control systems, equal to or better than the mechanical or electromechanical parts they replace. The designers must have a thorough understanding of the system and more accurate software design and verification techniq...
متن کاملTesting of Object-Oriented Programming Systems (OOPS): A Fault-Based Approach
The goal of this paper is to examine the testing of object-oriented systems and to compare and contrast it with the testing of conventional programming language systems, with emphasis on fault-based testing. Conventional system testing, object-oriented system testing, and the application of conventional testing methods to object-oriented software will be examined, followed by a look at the diff...
متن کاملAn Empirical Study on Testing and Fault Tolerance for Software Reliability Engineering
Software testing and software fault tolerance are two major techniques for developing reliable software systems, yet limited empirical data are available in the literature to evaluate their effectiveness. We conducted a major experiment to engage 34 programming teams to independently develop multiple software versions for an industry-scale critical flight application, and collected faults detec...
متن کاملModeling Of Fault Prediction Using Machine Learning Techniques
Predicting faults early in the software life cycle can be used to improve software process control and achieve high software reliability. Quality of software is increasingly important and testing related issues are becoming crucial for software. Methodologies and techniques for predicting the testing effort, monitoring process costs, and measuring results can help in increasing efficiency of so...
متن کاملFault injection testing of software implemented fault tolerance mechanisms of distributed systems
One way of gaining confidence in the adequacy of fault tolerance mechanisms of a system is to test the system by injecting faults and see how the system performs under faulty conditions. This thesis investigates the issues of testing software-implemented fault tolerance mechanisms of distributed systems through fault injection. A fault injection method has been developed. The method requires th...
متن کامل